{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "ml-challenges.ipynb",
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "eXlW6p2OSnNe",
        "colab_type": "text"
      },
      "source": [
        "## ML Challenges\n",
        "\n",
        "This notebook includes various code snippets mentioned in the first chapter of our Machine Learning Design Patterns book."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4WeoSZ4MTv6d",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import pandas as pd\n",
        "import tensorflow as tf\n",
        "\n",
        "from sklearn.utils import shuffle\n",
        "from google.cloud import bigquery"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "XesQj5QcTepp",
        "colab_type": "text"
      },
      "source": [
        "### Repeatability\n",
        "\n",
        "Because of the inherent randomness in ML, there are additional measures required to ensure repeatability and reproducability between training and evaluation runs."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0pDreGYoSkPz",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# Setting a random seed in TensorFlow\n",
        "# Do this before you run training to ensure reproducible evaluation metrics\n",
        "# You can use whatever value you'd like for the seed\n",
        "tf.random.set_seed(2)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "-Khu4PaGUS74",
        "colab_type": "text"
      },
      "source": [
        "You also need to consider randomness when preparing your training, test, and validation datasets. To ensure consistency, prepare a shuffled dataset before training by setting a random seed value.\n",
        "\n",
        "First, let's look at an example without shuffling. We'll grab some data from the NOAA storms public dataset in BigQuery. You'll need a Google Cloud account to run the cells that use this dataset."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "QJ48sMDHWI_b",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from google.colab import auth\n",
        "auth.authenticate_user()"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "LfmHA0LvZNVA",
        "colab_type": "text"
      },
      "source": [
        "Replace `your-cloud-project` below with the name of your Google Cloud project."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fUaKDisOWM9u",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "%%bigquery storms_df --project your-cloud-project\n",
        "SELECT\n",
        "  *\n",
        "FROM\n",
        "  `bigquery-public-data.noaa_historic_severe_storms.storms_*`\n",
        "LIMIT 1000"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vGGdKpsvXBxt",
        "colab_type": "text"
      },
      "source": [
        "Run the cell below multiple times, and notice that the order of the data changes each time."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7RhuiAsqWh13",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 309
        },
        "outputId": "8971fdc3-9010-427e-ec40-3e4e25e59052"
      },
      "source": [
        "storms_df = shuffle(storms_df)\n",
        "storms_df.head()"
      ],
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>episode_id</th>\n",
              "      <th>event_id</th>\n",
              "      <th>state</th>\n",
              "      <th>state_fips_code</th>\n",
              "      <th>event_type</th>\n",
              "      <th>cz_type</th>\n",
              "      <th>cz_fips_code</th>\n",
              "      <th>cz_name</th>\n",
              "      <th>wfo</th>\n",
              "      <th>event_begin_time</th>\n",
              "      <th>event_timezone</th>\n",
              "      <th>event_end_time</th>\n",
              "      <th>injuries_direct</th>\n",
              "      <th>injuries_indirect</th>\n",
              "      <th>deaths_direct</th>\n",
              "      <th>deaths_indirect</th>\n",
              "      <th>damage_property</th>\n",
              "      <th>damage_crops</th>\n",
              "      <th>source</th>\n",
              "      <th>magnitude</th>\n",
              "      <th>magnitude_type</th>\n",
              "      <th>flood_cause</th>\n",
              "      <th>tor_f_scale</th>\n",
              "      <th>tor_length</th>\n",
              "      <th>tor_width</th>\n",
              "      <th>tor_other_wfo</th>\n",
              "      <th>location_index</th>\n",
              "      <th>event_range</th>\n",
              "      <th>event_azimuth</th>\n",
              "      <th>reference_location</th>\n",
              "      <th>event_latitude</th>\n",
              "      <th>event_longitude</th>\n",
              "      <th>event_point</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>875</th>\n",
              "      <td>None</td>\n",
              "      <td>10075537</td>\n",
              "      <td>New york</td>\n",
              "      <td>36</td>\n",
              "      <td>thunderstorm wind</td>\n",
              "      <td>C</td>\n",
              "      <td>13</td>\n",
              "      <td>CHAUTAUQUA</td>\n",
              "      <td>BUF</td>\n",
              "      <td>1990-08-27 23:40:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-08-27 23:40:00</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>0.00</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>449</th>\n",
              "      <td>None</td>\n",
              "      <td>9998455</td>\n",
              "      <td>Florida</td>\n",
              "      <td>12</td>\n",
              "      <td>thunderstorm wind</td>\n",
              "      <td>C</td>\n",
              "      <td>5</td>\n",
              "      <td>BAY</td>\n",
              "      <td>PNS</td>\n",
              "      <td>1990-08-18 17:00:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-08-18 17:00:00</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>0.00</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>464</th>\n",
              "      <td>None</td>\n",
              "      <td>10076219</td>\n",
              "      <td>New mexico</td>\n",
              "      <td>35</td>\n",
              "      <td>hail</td>\n",
              "      <td>C</td>\n",
              "      <td>5</td>\n",
              "      <td>CHAVES</td>\n",
              "      <td>ROW</td>\n",
              "      <td>1990-04-21 22:00:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-04-21 22:00:00</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>1.75</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>698</th>\n",
              "      <td>None</td>\n",
              "      <td>10138226</td>\n",
              "      <td>Texas</td>\n",
              "      <td>48</td>\n",
              "      <td>thunderstorm wind</td>\n",
              "      <td>C</td>\n",
              "      <td>9</td>\n",
              "      <td>ARCHER</td>\n",
              "      <td>SPS</td>\n",
              "      <td>1990-05-29 19:27:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-05-29 19:27:00</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>55.00</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>840</th>\n",
              "      <td>None</td>\n",
              "      <td>10125887</td>\n",
              "      <td>South dakota</td>\n",
              "      <td>46</td>\n",
              "      <td>tornado</td>\n",
              "      <td>C</td>\n",
              "      <td>13</td>\n",
              "      <td>BROWN</td>\n",
              "      <td>None</td>\n",
              "      <td>1990-06-01 20:45:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-06-01 20:45:00</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>0.00</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>F0</td>\n",
              "      <td>3</td>\n",
              "      <td>30</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "    episode_id  event_id  ... event_longitude event_point\n",
              "875       None  10075537  ...            None        None\n",
              "449       None   9998455  ...            None        None\n",
              "464       None  10076219  ...            None        None\n",
              "698       None  10138226  ...            None        None\n",
              "840       None  10125887  ...            None        None\n",
              "\n",
              "[5 rows x 33 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 9
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "jbfrylA_XGTE",
        "colab_type": "text"
      },
      "source": [
        "Next, repeat the above but set a random seed. Note that the data order stays the same even when run multiple times.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "U5a4WF88XFyk",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 309
        },
        "outputId": "88e33fee-4e10-4d8e-f5c8-0a096ced8d5e"
      },
      "source": [
        "shuffled_df = shuffle(storms_df, random_state=2)\n",
        "shuffled_df.head()"
      ],
      "execution_count": 16,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>episode_id</th>\n",
              "      <th>event_id</th>\n",
              "      <th>state</th>\n",
              "      <th>state_fips_code</th>\n",
              "      <th>event_type</th>\n",
              "      <th>cz_type</th>\n",
              "      <th>cz_fips_code</th>\n",
              "      <th>cz_name</th>\n",
              "      <th>wfo</th>\n",
              "      <th>event_begin_time</th>\n",
              "      <th>event_timezone</th>\n",
              "      <th>event_end_time</th>\n",
              "      <th>injuries_direct</th>\n",
              "      <th>injuries_indirect</th>\n",
              "      <th>deaths_direct</th>\n",
              "      <th>deaths_indirect</th>\n",
              "      <th>damage_property</th>\n",
              "      <th>damage_crops</th>\n",
              "      <th>source</th>\n",
              "      <th>magnitude</th>\n",
              "      <th>magnitude_type</th>\n",
              "      <th>flood_cause</th>\n",
              "      <th>tor_f_scale</th>\n",
              "      <th>tor_length</th>\n",
              "      <th>tor_width</th>\n",
              "      <th>tor_other_wfo</th>\n",
              "      <th>location_index</th>\n",
              "      <th>event_range</th>\n",
              "      <th>event_azimuth</th>\n",
              "      <th>reference_location</th>\n",
              "      <th>event_latitude</th>\n",
              "      <th>event_longitude</th>\n",
              "      <th>event_point</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>888</th>\n",
              "      <td>None</td>\n",
              "      <td>10082557</td>\n",
              "      <td>New hampshire</td>\n",
              "      <td>33</td>\n",
              "      <td>thunderstorm wind</td>\n",
              "      <td>C</td>\n",
              "      <td>13</td>\n",
              "      <td>MERRIMACK</td>\n",
              "      <td>CON</td>\n",
              "      <td>1990-10-18 21:00:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-10-18 21:00:00</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>0.0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>185</th>\n",
              "      <td>None</td>\n",
              "      <td>10111136</td>\n",
              "      <td>South carolina</td>\n",
              "      <td>45</td>\n",
              "      <td>thunderstorm wind</td>\n",
              "      <td>C</td>\n",
              "      <td>3</td>\n",
              "      <td>AIKEN</td>\n",
              "      <td>AGS</td>\n",
              "      <td>1990-05-28 10:30:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-05-28 10:30:00</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>0.0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>975</th>\n",
              "      <td>None</td>\n",
              "      <td>10049089</td>\n",
              "      <td>Minnesota</td>\n",
              "      <td>27</td>\n",
              "      <td>thunderstorm wind</td>\n",
              "      <td>C</td>\n",
              "      <td>13</td>\n",
              "      <td>BLUE EARTH</td>\n",
              "      <td>RST</td>\n",
              "      <td>1990-06-02 11:40:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-06-02 11:40:00</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>0.0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>684</th>\n",
              "      <td>None</td>\n",
              "      <td>10147552</td>\n",
              "      <td>West virginia</td>\n",
              "      <td>54</td>\n",
              "      <td>thunderstorm wind</td>\n",
              "      <td>C</td>\n",
              "      <td>9</td>\n",
              "      <td>BROOKE</td>\n",
              "      <td>PIT</td>\n",
              "      <td>1990-09-06 15:30:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-09-06 15:30:00</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>0.0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>45</th>\n",
              "      <td>None</td>\n",
              "      <td>10054154</td>\n",
              "      <td>Michigan</td>\n",
              "      <td>26</td>\n",
              "      <td>thunderstorm wind</td>\n",
              "      <td>C</td>\n",
              "      <td>1</td>\n",
              "      <td>ALCONA</td>\n",
              "      <td>APN</td>\n",
              "      <td>1990-10-04 13:00:00</td>\n",
              "      <td>CST</td>\n",
              "      <td>1990-10-04 13:00:00</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>0.0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "      <td>None</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "    episode_id  event_id  ... event_longitude event_point\n",
              "888       None  10082557  ...            None        None\n",
              "185       None  10111136  ...            None        None\n",
              "975       None  10049089  ...            None        None\n",
              "684       None  10147552  ...            None        None\n",
              "45        None  10054154  ...            None        None\n",
              "\n",
              "[5 rows x 33 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 16
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "g_5dEbgmT8yX",
        "colab_type": "text"
      },
      "source": [
        "### Data drift\n",
        "\n",
        "It's important to analyze how data is changing over time to ensure your ML models are trained on accurate data. To demonstrate this, we'll use the same NOAA storms dataset as above with a slightly different query. \n",
        "\n",
        "Let's look at how the number of reported storms has increased over time."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "LC2ozP3PYT1i",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "%%bigquery storm_trends --project your-cloud-project\n",
        "SELECT\n",
        "  SUBSTR(CAST(event_begin_time AS string), 1, 4) AS year,\n",
        "  COUNT(*) AS num_storms\n",
        "FROM\n",
        "  `bigquery-public-data.noaa_historic_severe_storms.storms_*`\n",
        "GROUP BY\n",
        "  year\n",
        "ORDER BY\n",
        "  year ASC"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "u-6l9cqoYXFM",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        },
        "outputId": "4d19bbef-56ca-45f4-9b7d-11cb2b35a8c6"
      },
      "source": [
        "storm_trends.head()"
      ],
      "execution_count": 18,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>year</th>\n",
              "      <th>num_storms</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>1950</td>\n",
              "      <td>223</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1951</td>\n",
              "      <td>269</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1952</td>\n",
              "      <td>272</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1953</td>\n",
              "      <td>492</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1954</td>\n",
              "      <td>609</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   year  num_storms\n",
              "0  1950         223\n",
              "1  1951         269\n",
              "2  1952         272\n",
              "3  1953         492\n",
              "4  1954         609"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 18
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "8iPDWrM_Yv3Y",
        "colab_type": "text"
      },
      "source": [
        "As seen below, training a model on data before 2000 to predict storms now would result in incorrect predictions."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "k3MA7oScYaDl",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 312
        },
        "outputId": "ad788e12-eeea-4dec-8ff5-a01aae20a7bf"
      },
      "source": [
        "storm_trends.plot(title='Storm trends over time', x='year', y='num_storms')"
      ],
      "execution_count": 22,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7fd2dac5b400>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 22
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "zj8SOtBNZcKG",
        "colab_type": "text"
      },
      "source": [
        "Copyright 2020 Google Inc. Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License"
      ]
    }
  ]
}